package j14;

public class J14_StaticMember {

	public static void main(String[] args) {
		// static멤버변수 다루기

//		Car car1 = new Car("BMW","rx100",4,"123-456");
//		//car1 객체가 생성되면
//		//정적변수 total에 1을 증가시킴
//		Car car2 = new Car("HyunDai", "t320", 2, "234-567");
		//car2객체가 생성되면 정적변수 total에 1ㅇ
		
		
//		System.out.println(car1.getCounter());
//		System.out.println(car2.getCounter());
//		System.out.println(Car.total);
//		
		
//		car1.setMaker("SamSung");
//		car1.setModel("SM10");
//		car1.setDoors(8);
//		car1.setCounter("777-7777");
//		System.out.println(car1.getMaker());
//		System.out.println(car1.getModel());
//		System.out.println(car1.getDoors());
//		System.out.println(car1.getCounter());
	}// main

}// class

// 차량정보를 다루는 클래스 : Car
// 제조사 : maker
// 모델명 : model
// 문짝수 : doors
// 차량번호 : counter

class Car {
	private String maker;
	private String model;
	private int doors;
	private String counter;
	// 멤버변수 maker, model, doors, counter등은
	// new 연산자로 객체를 생성할 때 변수가 만들어짐
	public static int total;		//정적 멤버변수

	//하지만, 정적변수 total은 프로그램이 실행될 때 미리 변수가 만들어짐
	
	// 생성자 정의
	public Car() {
	// 모든 맴버변수를 초기화하는 생성자 정의
	}
	// 일부멤버변수를 초기화하는 생성자 정의
	public Car(String maker, String model) {
		//this(maker,model,4,"123");
		//기존에 만들어진 생성자를 간편하게 호출하기 위해
		//this라는 접두사를 이용한다 
//		this.maker = maker;
//		this.model = model;
//		this.doors = doors;
//		this.counter = counter;
		++total;		//Car 객체가 생성될 때마다 total 증가
	}
	//setter/getter 메서드 정의
	
	//toString 메서드 재정의
	
	public String getMaker() {
		return maker;
	}
	public void setMaker(String maker) {
		this.maker = maker;
	}
	public String getModel() {
		return model;
	}
	public void setModel(String model) {
		this.model = model;
	}
	public int getDoors() {
		return doors;
	}
	public void setDoors(int doors) {
		this.doors = doors;
	}
	public String getCounter() {
		return counter;
	}
	public void setCounter(String counter) {
		this.counter = counter;
	}
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return super.toString();
}
}